package timber.collection{
	
	/**
	Basic class interface that is iterable using timber.collection.Iterator

	@author Chandler McWilliams <chandler@brysonian.com>
	@version 2007-05-02

	@Copyright 2008 Chandler McWilliams <chandler@brysonian.com>
    * 
	* This file is part of Timber.
    * 
	* Timber is free software: you can redistribute it and/or modify
	* it under the terms of the GNU Lesser General Public License as published by
	* the Free Software Foundation, either version 3 of the License, or
	* (at your option) any later version.
    * 
	* Timber is distributed in the hope that it will be useful,
	* but WITHOUT ANY WARRANTY; without even the implied warranty of
	* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	* GNU Lesser General Public License for more details.
    * 
	* You should have received a copy of the GNU Lesser General Public License
	* along with Timber.  If not, see <http://www.gnu.org/licenses/>.
	
	@usage

	- Activate with:
	<code>

	</code>
	
	*/

	public interface IterableInterface {
		
		// get the length
		function get length():uint;
		
		// return the current item
		function itemAt (value:uint):Object;
	
		// tell it you are iterable
		function isIterable():Boolean;
		
	};
};